import axios from "axios"
import router from "../router"

let baseUrl="";
// 用node环境变量判断，用来区分开发 测试  生产 (发布) 环境
if(process.env.NODE_ENV==="development"){
    baseUrl="https://www.liulongbin.top:8888/api/private/v1/"
}else if(process.env.NODE_ENV==="production"){
    baseUrl="https://www.liulongbin.top:8888/api/private/v1/"
}

// axios 配置默认公共属性
const http=axios.create({
    baseURL:baseUrl,
    timeout:5000,
})

//请求拦截器
http.interceptors.request.use((config)=>{
    //登录成功之后 后续请求都需要在请求中携带token值才能继续操作
    // 为请求头对象，添加 token 验证的 Authorization 字段
    config.headers.Authorization=window.sessionStorage.getItem("token")
    return config
})

// 响应拦截器
http.interceptors.response.use((config)=>{
    //判断http状态
    switch(config.status){
        case 200:
            let responseData=config.data;
            // 成功后的状态码异常处理
            switch (responseData.meta.status){
                case 404:
                    router.push("/404")
                    console.log("跳转到404");
                    break;
                    case 500:
                    router.push("/500")
                    break;
                    case "token过期":
                        router.push("/login")
            }
            break;
            case 404:
               console.log("跳转到404");
                break;
                case 500:
                console.log("跳转到500");
                    break;
        }
        return config
})

export default http



